package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.DmcCsunNewBodyLocation;
import com.csun.cmny.provider.model.dto.newBody.BindCsunNewBodyLocationDto;
import com.csun.cmny.provider.model.dto.newBody.CsunNewBodyQueryDto;
import com.csun.cmny.provider.model.vo.life.DmcDeviceByRoom;
import com.csun.cmny.provider.model.vo.newBody.CsunNewBodyVo;

import java.util.List;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-12-27 15:18
 * @Description:
 */
public interface DmcCsunNewBodyLocationService extends IService<DmcCsunNewBodyLocation> {

    /**
     * query dmc csun humidistat and location list with page
     *
     * @param csunNewBodyQueryDto    the csun humidistat query dto
     *
     * @return  the list
     */
    List<CsunNewBodyVo> queryListWithPage(CsunNewBodyQueryDto csunNewBodyQueryDto);

    /**
     * delete dmc csun humidistat by id
     *
     * @param id    the csun humidistat id
     *
     * @return  the int.
     */
    Integer deleteById(Long id);

    /**
     * bind dmc csun humidistat and location
     *
     * @param bindCsunNewBodyLocationDto the bind csun humidistat location
     * @param loginAuthDto  the login auth dto
     *
     * @return  the int
     */
    Integer bind(BindCsunNewBodyLocationDto bindCsunNewBodyLocationDto, LoginAuthDto loginAuthDto);

    /**
     * untied dmc csun humidistat and location
     *
     * @param deviceId  the dmc csun humidistat id
     *
     * @return  the int
     */
    Integer untied(Long deviceId);

    /**
     * untied dmc csun humidistat and location
     *
     * @param roomId  the dmc csun humidistat id
     *
     * @return  the list
     */
    List<Long> selectDeviceIdByRoomId(Long roomId);

    /**
     *
     * @param alertId
     * @return
     */
    DmcDeviceByRoom selectRoomIdByDeviceId(Long alertId);

    /*
    * 查询网关绑定的人感的数据
    * */
    List<CsunNewBodyVo> listGatewayBindBodySensor(Long deviceId);

    /*
    * 查询日创人感
    * */
    CsunNewBodyVo get(Long deviceId);
}
